package dados.entidades;

import java.io.File;
import java.io.Serializable;
import java.sql.Time;

public class Arquivo implements Serializable {

    private static final long serialVersionUID = 664021716973805139L;
	private boolean status;
	private String nome;
	private double taxaTransferencia;
	private String tempoEstimado;
	private long tamanho;
	private Usuario usuario;
	private File arquivo;
	private long dataModificacao;
           
	public Arquivo(String nome, Usuario usuario) {
		this.arquivo = new File("Arquivos/" + nome);
		this.nome = nome;
		this.tamanho = arquivo.length();
		this.usuario = usuario;
		this.status = false;
		this.taxaTransferencia = 0;
		this.tempoEstimado = "";
		this.dataModificacao = arquivo.lastModified();
	}
	
	public Arquivo(String nome){
       this.arquivo = new File("Arquivos/" + nome);
       this.nome = nome;
       this.tamanho = arquivo.length();
       this.status = false;
       this.taxaTransferencia = 0;
       this.tempoEstimado = "";
       this.dataModificacao = arquivo.lastModified();
   }

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public void setTaxaTransferencia(double taxaTransferencia) {
		this.taxaTransferencia = taxaTransferencia;
	}

	public void setTempoEstimado(String tempoEstimado) {
		this.tempoEstimado = tempoEstimado;
	}

	public void setTamanho(long tamanho) {
		this.tamanho = tamanho;
	}
	
	public void setStatus(boolean status) {
		this.status = status;
	}
	
	public void setDataModificacao(long data) {
		this.dataModificacao = data;
	}
	
	public String getNome() {
		return this.nome;
	}

	public long getTamanho() {
		return this.tamanho;
	}
	
	public Usuario getUsuario() {
		return this.usuario;
	}
	
	public boolean getStatus() {
		return this.status;
	}

	public double getTaxaTransferencia() {
		return this.taxaTransferencia;
	}

	public String getTempoEstimado() {
		return this.tempoEstimado;
	}

	public long getDataModificacao() {
		return this.dataModificacao;
	}
	
	public boolean comparaNomes(Arquivo arquivo) {
		return this.getNome().equals(arquivo.getNome());
	}
}
